package com.bt.lms.entity;

import java.time.LocalDate;
import java.util.List;

/**
 * 学员基本信息
 *
 * @author 王波
 */
public class StuBasicInfo {


    /**
     * 唯一标识
     */
    private Long id;

    /**
     * 学员编号
     *
     * @reqRole 必填，文本，小，自动生成
     */
    private String no;

    /**
     * 姓名
     *
     * @reqRole 必填，文本，小，自动生成
     */
    private String name;

    /**
     * 性别
     *
     * @reqRole 必填，文本，小，自动生成
     */
    private Integer sex;

    /**
     * 出生日期
     *
     * @reqRole 必填，时间，格式：“yyyy-MM-dd”
     */
    private LocalDate birthTime;
    /**
     * 籍贯
     *
     * @reqRole 必填，文本，小
     */
    private String nativePlace;

    /**
     * 民族
     *
     * @reqRole 必填，文本，小
     */
    private String nation;

    /**
     * 出生地
     *
     * @reqRole 必填，文本，小
     */
    private String birthplace;

    /**
     * 证件类型
     *
     * @reqRole 必填，限选项 1.身份证（默认）
     */
    private Integer idType;

    /**
     * 证件号码
     *
     * @reqRole 必填，文本，小，自动生成
     */
    private String idCard;

    /**
     * 婚姻状况
     *
     * @reqRole 必填，限选项---未婚，已婚
     */
    private Integer maritalStatus;

    /**
     * 政治面貌
     *
     * @reqRole 必填，限选项---党员，团员，其他
     */
    private Integer politicsStatus;

    /**
     * 照片
     * @reqRole 非必填，文件，2mb以内，png，jpg，jpeg格式
     */
    private String picture;

    /**
     * 英文姓名
     *
     * @reqRole 非必填，文本，小
     */
    private String englishName;

    /**
     * 姓名拼音
     *
     * @reqRole 非必填，文本，小
     */
    private String namePhoneticize;

    /**
     * 曾用名
     *
     * @reqRole 非必填，文本，小
     */
    private String formerName;

    /**
     * 信仰宗教
     *
     * @reqRole 非必填，限选项---无宗教信仰，佛教，伊斯兰教
     * 基督教，其他
     */
    private Integer faith;

    /**
     * 国籍/地区
     *
     * @reqRole 非必填，文本，小
     */
    private String nationality;

    /**
     * 港澳台侨外
     *
     * @reqRole 非必填，限选项---单选：是，否
     */
    private Integer isAlien;

    /**
     * 健康状况
     *
     * @reqRole 非必填，限选项---健康获良好，一般获较弱，有慢性疾病，残疾
     */
    private Integer physicalCondition;

    /**
     * 血型
     *
     * @reqRole 非必填，限选项---A型血，B型血，AB型血，O型血，其他
     */
    private Integer bloodType;

    /**
     * 身份证件有效期起
     *
     * @reqRole 必填，时间，格式：“yyyy-MM-dd”
     */
    private LocalDate startIDCardValidity;

    /**
     * 身份证件有效期止
     *
     * @reqRole 必填，时间，格式：“yyyy-MM-dd”
     */
    private LocalDate stopIDCardValidity;
    /**
     * 是否独生子女
     *
     * @reqRole 必填，限选项---单选：是，否
     */
    private Integer onlyChild;

    //------------------------------------------关系



    //外键
    /**
     * 报名学员id
     */
    private Long regStuID;

    /**
     * 班级id
     */
    private Long classInfoID;


    /**
     * 学籍信息id
     */
    private Long stuStatusInfoID;


    /**
     * 学员报名信息
     *
     * @reqRole 必填，
     */
    private RegStuInfo regStuInfo;

    /**
     * 班级信息
     */
    private ClassInfo classInfo;

    /**
     * 家庭成员信息
     *
     * @reqRole 必填
     */
    private List<FamilyMemberInfo> familyMemberInfos;

    /**
     * 学籍档案信息
     *
     * @reqRole 必填，自动生成
     */
    private StuStatusBasicInfo stuStatusBasicInfo;


    public Long getRegStuID() {
        return regStuID;
    }

    public void setRegStuID(Long regStuID) {
        this.regStuID = regStuID;
    }

    public Long getClassInfoID() {
        return classInfoID;
    }

    public void setClassInfoID(Long classInfoID) {
        this.classInfoID = classInfoID;
    }

    public Long getStuStatusInfoID() {
        return stuStatusInfoID;
    }

    public void setStuStatusInfoID(Long stuStatusInfoID) {
        this.stuStatusInfoID = stuStatusInfoID;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNo() {
        return no;
    }

    public void setNo(String no) {
        this.no = no;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSex() {
        return sex;
    }

    public String getPicture() {
        return picture;
    }

    public void setPicture(String picture) {
        this.picture = picture;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public LocalDate getBirthTime() {
        return birthTime;
    }

    public void setBirthTime(LocalDate birthTime) {
        this.birthTime = birthTime;
    }

    public String getNativePlace() {
        return nativePlace;
    }

    public void setNativePlace(String nativePlace) {
        this.nativePlace = nativePlace;
    }

    public String getNation() {
        return nation;
    }

    public void setNation(String nation) {
        this.nation = nation;
    }

    public String getBirthplace() {
        return birthplace;
    }

    public void setBirthplace(String birthplace) {
        this.birthplace = birthplace;
    }

    public Integer getIdType() {
        return idType;
    }

    public void setIdType(Integer idType) {
        this.idType = idType;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public Integer getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(Integer maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public Integer getPoliticsStatus() {
        return politicsStatus;
    }

    public void setPoliticsStatus(Integer politicsStatus) {
        this.politicsStatus = politicsStatus;
    }

    public String getEnglishName() {
        return englishName;
    }

    public void setEnglishName(String englishName) {
        this.englishName = englishName;
    }

    public String getNamePhoneticize() {
        return namePhoneticize;
    }

    public void setNamePhoneticize(String namePhoneticize) {
        this.namePhoneticize = namePhoneticize;
    }

    public String getFormerName() {
        return formerName;
    }

    public void setFormerName(String formerName) {
        this.formerName = formerName;
    }

    public Integer getFaith() {
        return faith;
    }

    public void setFaith(Integer faith) {
        this.faith = faith;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public Integer getIsAlien() {
        return isAlien;
    }

    public void setIsAlien(Integer isAlien) {
        this.isAlien = isAlien;
    }

    public Integer getPhysicalCondition() {
        return physicalCondition;
    }

    public void setPhysicalCondition(Integer physicalCondition) {
        this.physicalCondition = physicalCondition;
    }

    public Integer getBloodType() {
        return bloodType;
    }

    public void setBloodType(Integer bloodType) {
        this.bloodType = bloodType;
    }

    public LocalDate getStartIDCardValidity() {
        return startIDCardValidity;
    }

    public void setStartIDCardValidity(LocalDate startIDCardValidity) {
        this.startIDCardValidity = startIDCardValidity;
    }

    public LocalDate getStopIDCardValidity() {
        return stopIDCardValidity;
    }

    public void setStopIDCardValidity(LocalDate stopIDCardValidity) {
        this.stopIDCardValidity = stopIDCardValidity;
    }

    public Integer getOnlyChild() {
        return onlyChild;
    }

    public void setOnlyChild(Integer onlyChild) {
        this.onlyChild = onlyChild;
    }

    public RegStuInfo getStuRegistrationInfo() {
        return regStuInfo;
    }

    public void setStuRegistrationInfo(RegStuInfo regStuInfo) {
        this.regStuInfo = regStuInfo;
    }

    public ClassInfo getClassInfo() {
        return classInfo;
    }

    public void setClassInfo(ClassInfo classInfo) {
        this.classInfo = classInfo;
    }


    public List<FamilyMemberInfo> getFamilyMemberInfos() {
        return familyMemberInfos;
    }

    public void setFamilyMemberInfos(List<FamilyMemberInfo> familyMemberInfos) {
        this.familyMemberInfos = familyMemberInfos;
    }

    public StuStatusBasicInfo getStudentStatusBasicInfo() {
        return stuStatusBasicInfo;
    }

    public void setStudentStatusBasicInfo(StuStatusBasicInfo stuStatusBasicInfo) {
        this.stuStatusBasicInfo = stuStatusBasicInfo;
    }
}
